Sensor device and method of use

ABSTRACT

A device may determine a time-of-flight measurement by performing a sample of a sensor based on light received via at least one first spectral filter, wherein the at least one first spectral filter is associated with a spectral range for a time-of-flight measurement; determine that a condition is satisfied with regard to the time-of-flight measurement, wherein the condition relates to an orientation or a position of the sensor or the sensor device relative to a measurement target; trigger a spectrometry measurement to be performed based on determining that the condition is satisfied with regard to the time-of-flight measurement; and perform, based on light received via at least one second spectral filter and by performing a sample of the sensor, the spectrometry measurement for the measurement target based on the condition being satisfied with regard to the time-of-flight measurement.

RELATED APPLICATION(S)

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/804,609, filed on Feb. 12, 2019, and entitled “SENSOR DEVICE ANDMETHOD OF USE,” the content of which is incorporated by reference hereinin its entirety.

BACKGROUND

A sensor device may be utilized to capture information for spectrometryanalysis. For example, the sensor device may capture informationrelating to a set of electromagnetic frequencies. The sensor device mayinclude a set of sensor elements (e.g., optical sensors, spectralsensors, and/or image sensors) that capture the information. Forexample, an array of sensor elements may be utilized to captureinformation relating to multiple frequencies. An analysis may beperformed on the information relating to the multiple frequencies todetermine spectrometry information.

SUMMARY

In some aspects, a device for wireless communication may include asensor. The device may include at least one first spectral filter and atleast one second spectral filter, wherein the at least one firstspectral filter is associated with a spectral range for a time-of-flightmeasurement, and wherein the at least one second spectral filter isassociated with a spectral range for a spectrometry measurement. Thedevice may include one or more memories. The device may include one ormore processors, communicatively coupled to the one or more memories,to: determine, using the sensor, the time-of-flight measurement based onlight received via the at least one first spectral filter; determinethat a condition is satisfied with regard to the time-of-flightmeasurement, wherein the condition relates to an orientation or aposition of the sensor or the sensor device relative to a measurementtarget; trigger the spectrometry measurement to be performed based ondetermining that the condition is satisfied with regard to thetime-of-flight measurement; perform, using the sensor and based on lightreceived via the at least one second spectral filter, the spectrometrymeasurement for the measurement target based on the condition beingsatisfied with regard to the time-of-flight measurement; and provideinformation identifying the spectrometry measurement.

In some aspects, a method of wireless communication may includeperforming, by a sensor device and using a sensor, a time-of-flightmeasurement based on light received via at least one first spectralfilter, wherein the at least one first spectral filter is associatedwith a spectral range for a time-of-flight measurement; determining, bythe sensor device, that a condition is satisfied with regard to thetime-of-flight measurement, wherein the condition relates to anorientation or a position of the sensor or the sensor device relative toa measurement target; performing, by the sensor device, using thesensor, and based on light received via at least one second spectralfilter, a spectrometry measurement for the measurement target based onthe condition being satisfied with regard to the time-of-flightmeasurement; and providing, by the sensor device, informationidentifying the spectrometry measurement.

In some aspects, a non-transitory computer-readable medium may store oneor more instructions for wireless communication. The one or moreinstructions, when executed by one or more processors of a device, maycause the one or more processors to: determine a time-of-flightmeasurement by performing a sample of a sensor based on light receivedvia at least one first spectral filter, wherein the at least one firstspectral filter is associated with a spectral range for a time-of-flightmeasurement; determine that a condition is satisfied with regard to thetime-of-flight measurement, wherein the condition relates to anorientation or a position of the sensor or the sensor device relative toa measurement target; trigger a spectrometry measurement to be performedbased on determining that the condition is satisfied with regard to thetime-of-flight measurement; and perform, based on light received via atleast one second spectral filter and by performing a sample of thesensor, the spectrometry measurement for the measurement target based onthe condition being satisfied with regard to the time-of-flightmeasurement.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are diagrams of an overview of an example implementationdescribed herein.

FIG. 2 is a diagram of an example of a spectral filter described herein.

FIG. 3 is a diagram of an example environment in which systems and/ormethods described herein may be implemented.

FIG. 4 is a diagram of example components of one or more devices of FIG.2.

FIG. 5 is a flow chart of an example process for performing aspectrometry measurement based on a time-of-flight measurement.

FIG. 6 is a flow chart of an example process for performing aspectrometry measurement based on a time-of-flight measurement.

FIG. 7 is a flow chart of an example process for performing aspectrometry measurement based on a time-of-flight measurement.

DETAILED DESCRIPTION

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements. The followingdescription uses a spectrometer as an example. However, the calibrationprinciples, procedures, and methods described herein may be used withany sensor, including but not limited to other optical sensors anspectral sensors.

Multispectral imaging may be used to capture image data within specificwavelength ranges across the electromagnetic spectrum. In some cases,hyperspectral imaging may be performed, which may use more spectralbands and/or a tighter grouping of spectral bands than multispectralimaging. However, “multispectral” and “hyperspectral” are usedinterchangeably for the purposes of the implementations describedherein. A sensor device may determine a measurement using multispectralimaging data based on a spectrometry analysis technique. Such ameasurement may be referred to herein as a spectrometry measurement.Spectrometry measurements may be useful for various purposes, such aschemical composition analysis for a material, moisture contentdetermination, vegetation coverage determination, plant health, plantnutrition, human health assessment, and/or the like.

It may be challenging to ensure that a sensor device is properlypositioned for a spectrometry measurement. For example, a spectrometrymeasurement may be calibrated based on a particular spacing of a sensordevice from a measurement target, or a spectrometry measurement mayrequire a stationary sensor device. Some sensor devices may usemechanical fixturing to enforce the positioning required for ameasurement, such as a hood, a light pipe, a collar, a spacer, and/orthe like. However, mechanical fixturing may be large, costly, and/orcumbersome, and may be infeasible for certain types of sensor devices,such as mobile devices (e.g., smartphones).

Some implementations described herein provide a time-of-flight (ToF)based technique for determining that a spectrometry measurement is to beperformed in accordance with a condition relating to an orientation orposition of a sensor device. For example, a sensor device may perform aToF measurement to determine that the sensor device is properlypositioned for a spectrometry measurement to be performed by the sensordevice. The sensor device may determine that the sensor device ispositioned a proper distance from a measurement target (e.g., using asingle ToF measurement or multiple ToF measurements), or may determinethat the sensor device is properly aligned with the measurement target(e.g., using multiple ToF measurements to determine a plane of thesensor device and/or the measurement target). The ToF measurement may beperformed based on light filtered by a ToF filter, which may be a regionof a spectral filter for the spectrometry measurement that is designedto pass light associated with the ToF measurement. In someimplementations, the spectrometry measurement may be performed on a nextavailable read after the ToF measurement. In this way, the sensor devicemay perform a spectrometry measurement in accordance with a conditionrelating to an orientation or position of the sensor device based on aToF measurement. This may improve accuracy of the spectrometrymeasurement and may reduce the impact of inconsistency in positioningthe sensor device. Furthermore, performing the spectrometry measurementmay reduce or eliminate reliance on mechanical fixturing to properlyposition the sensor device, thereby reducing size, cost, and weight ofthe sensor device.

FIGS. 1A and 1B are diagrams of an overview of an example implementation100 described herein. Example implementation 100 relates todetermination of a spectrometry measurement based on a ToF measurementof a sensor device. As shown, the sensor device may include aspectrometry filter 105, one or more ToF filters 110-1 and 110-2 (shownas ToF Filter A and ToF Filter B), a sensor 115, a light source 120, anda processor 125. The sensor device, and the operation of the sensordevice, are described in connection with FIG. 1A. The determination of aspectrometry measurement based on a ToF measurement of the sensor deviceis described in connection with FIG. 1B.

Spectrometry filter 105 may include a spectral filter, a multispectralfilter, a multichannel spectral filter, a bandpass filter, a blockingfilter, a long-wave pass filter, a short-wave pass filter, a dichroicfilter, a linear variable filter (LVF), a circular variable filter(CVF), a Fabry-Perot filter, a Bayer filter, and/or the like.Spectrometry filter 105 may pass one or more wavelengths of light forperformance of a spectrometry measurement on a measurement target 130.For example, the light passed by spectrometry filter 105 may be in thesub-visible wavelength range (e.g., ultraviolet and/or the like), thevisible wavelength range (e.g., red, green, blue, and/or the like), thesuper-visible wavelength range (e.g., infrared, near-infrared,mid-infrared, and/or the like), or a different spectral range. In someimplementations, spectrometry filter 105 may include a plurality offilters.

ToF filter 110 may include a spectral filter, a multispectral filter, abandpass filter, a blocking filter, a long-wave pass filter, ashort-wave pass filter, a dichroic filter, a linear variable filter(LVF), a circular variable filter (CVF), a Fabry-Perot filter, a Bayerfilter, and/or the like. ToF filter 110 may pass one or more wavelengthsof light for performance of a ToF measurement on the measurement target130. For example, the light passed by ToF filter 110 may be in thenear-infrared range or in another range (e.g., a wavelength rangedescribed herein or a wavelength range not described herein).

In example implementation 100, there are two ToF filters 110. In someimplementations, there may be any number of ToF filters 110. A singleToF filter 110 may enable the measurement of a distance between thesensor device and the measurement target 130, whereas multiple ToFfilters 110 may enable the determination of an orientation of the sensordevice relative to the measurement target 130, as described in moredetail in connection with FIG. 1B. In some implementations, ToF filter110 may be part of spectrometry filter 105. For example, spectrometryfilter 105 and ToF filter 110 may be a single filter or a single set offilters designed to pass wavelengths for ToF measurements and forspectrometry measurements. In some implementations, spectrometry filter105 and ToF filter 110 may be coplanar. In some implementations,spectrometry filter 105 and ToF filter 110 may be in different planes.

Sensor 115 includes a device capable of performing a measurement oflight directed toward sensor 115 (e.g., via spectrometry filter 105and/or ToF filter 110), such as an optical sensor, a spectral sensor, animage sensor, and/or the like. For example, sensor 115 may perform asensor measurement of light directed toward sensor 115. Sensor 115 mayutilize one or more sensor technologies, such as a complementarymetal-oxide-semiconductor (CMOS) technology, a charge-coupled device(CCD) technology, and/or the like. Sensor 115 may include multiplesensor elements (e.g., an array of sensor elements—referred to as asensor array) each configured to obtain information. For example, asensor element may provide an indication of intensity of light that isincident on the sensor element (e.g., active/inactive or a more granularindication of intensity). Using these indications, the sensor device maydetermine a ToF measurement and/or a spectrometry measurement, asdescribed in more detail elsewhere herein. In some implementations,sensor 115 may include multiple, different sensors (e.g., one or morefirst sensors for a spectrometry measurement and one or more secondsensors for a ToF measurement).

Light source 120 may provide light for a spectrometry measurement and/ora ToF measurement. For example, light source 120 may include a laser, alight-emitting diode, and/or the like. In some implementations, such asin example implementation 100, a single light source 120 may providelight for the spectrometry measurement and the ToF measurement(s). Thismay reduce cost, size, and complexity associated with providing multipledifferent light sources. In some implementations, respective separatelight sources 120 may provide light for a spectrometry measurement andfor a ToF measurement. This may enable more accurate or continuousdetermination of the spectrometry measurement while the light source 120for the ToF measurement is chopped or pulsed for the ToF measurement.Here, sensor 115 and filters 105/110 are shown between measurementtarget 130 and light source 120. However, in some implementations,sensor 115 and filters 105/110 may not be between measurement target 130and light source 120.

Processor 125 may perform operations related to determination of a ToFmeasurement and/or a spectrometry measurement, as described in moredetail in connection with FIG. 1B. As one example, and as shown byreference numbers 135 and 140, processor 125 may determine one or moreToF measurements (shown as ToF_(A) and ToF_(B)) using ToF Filters A andB, respectively. Processor 125 may determine a ToF measurement usingsensor 115 and based on light transmitted by light source 120. Forexample, processor 125 may identify a particular pattern or intensity ofthe light transmitted by light source 120 using a region of sensor 115that is associated with ToF filter 110. Processor 125 may determine aToF for the light based on a transmission time of the light and a timeat which the particular pattern or intensity is detected. For example,processor 125 may determine ToF_(A) based on a time at which light isreceived via ToF Filter A after being transmitted by light source 120,and may determine ToF_(B) based on a time at which light is received byToF Filter B after being transmitted by light source 120. In someimplementations, ToF_(A) and ToF_(B) may be associated with differentwavelengths. In some implementations, ToF_(A) and ToF_(B) may beassociated with the same wavelengths.

As shown in FIG. 1B, and by reference number 145, processor 125 maydetermine ToF_(A) and ToF_(B) using sensor 115 and ToF Filters A and B.For example, processor 125 may determine ToF_(A) and ToF_(B) using a ToFtechnique based on light emitted by light source 120 and filtered by ToFFilters A and B. In some implementations, processor 125 may perform oneor more samples of sensor 115 to determine ToF_(A) and/or ToF_(B). Forexample, processor 125 may periodically perform samples of sensor 115 inorder to identify a signal associated with light for ToF_(A) and/orToF_(B). In some implementations, processor 125 may perform samples ofregions of sensor 115 corresponding to (e.g., overlapped with,coextensive with, covered by, and/or the like) ToF Filter 1 and/or ToFFilter B.

As shown by reference number 150, processor 125 may determine that oneor more ToF conditions are satisfied based on ToF_(A) and ToF_(B). Forexample, processor 125 may determine that a condition for an orientationor position of the sensor device and/or sensor 115 relative tomeasurement target 130 is satisfied based on ToF_(A) and/or ToF_(B). Insome implementations, processor 125 may determine that a condition for aposition of sensor 115 relative to measurement target 130 is satisfied.For example, when a ToF value (e.g., ToF_(A), ToF_(B), and/or the like)is within a particular range indicating that sensor 115 is a particulardistance (or within an acceptable range of the particular distance) frommeasurement target 130, then processor 125 may determine that thecondition is satisfied. In some implementations, processor 125 maydetermine that a condition for an orientation of sensor 115, or thesensor device, relative to measurement target 130 is satisfied. Forexample, processor 125 may determine, based on two or more ToFmeasurements, that a condition for an orientation of the sensor deviceand/or sensor 115 is satisfied. For example, the condition may besatisfied when each ToF measurement, of the two or more ToFmeasurements, is within a threshold range of each other. This mayindicate that the sensor device and/or sensor 115 is approximatelyparallel to measurement target 130.

As shown by reference number 155, processor 125 may perform aspectrometry measurement based on the one or more ToF conditions beingsatisfied. For example, processor 125 may perform a sample of sensor 115and/or a region of sensor 115 associated with the spectrometrymeasurement to determine image data for the spectrometry measurement,and may analyze the image data to determine the spectrometrymeasurement. In some implementations, processor 125 may trigger thespectrometry measurement to be performed based on the one or more ToFconditions being satisfied. In some implementations, the spectrometrymeasurement may relate to a spectroscopic signature of measurementtarget 130, a chemical composition of measurement target 130, and/or thelike. In some implementations, the sensor device may determine acharacteristic of a person (e.g., a health characteristic, a heart rate,a blood oxygenation level, a blood sugar level, a liveness level, and/orthe like), and/or the like based on the spectrometry measurement.

As shown by reference number 160, in some cases, processor 125 mayadjust the spectrometry measurement based on one or more ToFmeasurements. For example, processor 125 may augment, modify, or changethe spectrometry measurement based on the one or more ToF measurements.As a more particular example, processor 125 may determine that the oneor more ToF measurements indicate an orientation offset from measurementtarget 130 (e.g., an angular offset and/or the like) and may apply atransform to a spectrometry measurement to improve accuracy in view ofthe orientation offset. As another example, processor 125 may determinea speed or velocity of the sensor device or sensor 115, and may adjustthe spectrometry measurement based on the speed or velocity.Additionally, or alternatively, processor 125 may provide the one ormore ToF measurements and the spectrometry measurement. For example,processor 125 may provide the one or more ToF measurements and thespectrometry measurement for display, for processing by another device,and/or the like.

In some implementations, processor 125 may determine a ToF measurementafter a spectrometry measurement. For example, processor 125 may performa spectrometry measurement then a ToF measurement. This may be useful todetermine the validity of the spectrometry measurement. For example, theToF measurement may provide an indication of whether the sensor 115 wasremoved from ideal conditions for the spectrometry measurement tooquickly. In some implementations, processor 125 may determine multipleToF measurements before and after a spectrometry measurement todetermine the velocity of the image sensor device before and after thespectral scan. This may be useful for determining the accuracy of thespectrometry measurement or for adjusting the spectrometry measurementbased on the velocity.

As indicated above, FIGS. 1A and 1B are provided as one or moreexamples. Other examples may differ from what is described with regardto FIGS. 1A and 1B.

FIG. 2 is a diagram of an example of a spectral filter 200 describedherein. In FIG. 2, spectral filter 200 is shown in a head-on fashion, asopposed to the side views shown in FIGS. 1A and 1B. As shown, spectralfilter 200 may include one or more spectrometry filters 105 (describedin more detail in connection with FIGS. 1A and 1B) and one or more ToFfilters 110-1 through 110-N (also described in more detail in connectionwith FIGS. 1A and 1B). In some implementations, spectral filter 200 mayinclude a single ToF filter 110. This may enable the measurement of adistance of the sensor device from a measurement target (e.g.,measurement target 130) using the single ToF filter 110. In someimplementations, spectral filter 200 may include two ToF filters 110(e.g., that are spatially distributed). This may enable measurement ofan orientation of the sensor device relative to the measurement targetabout an axis (e.g., the axis that is coplanar with and orthogonal to anaxis that connects the two ToF filters 110). In some implementations,spectral filter 200 may include three or more ToF filters 110 that arespatially distributed, as shown in FIG. 2. This may enable measurementof an orientation of the sensor device relative to the measurementtarget about two axes (e.g., the two axes in the plane of the spectralfilter 200), as long as the three or more ToF filters 110 are not allplaced on a common axis.

Thus, position and/or orientation information may be determined usingone or more ToF filters 110 based on locations of the one or more ToFfilters 110. For example, the one or more ToF filters 110 may bespatially distributed to allow determination of the orientation based onlight passed via the one or more ToF filters 110. As explained above,this enables more accurate determination of spectrometry measurementswithout a corresponding increase in size, weight, or complexity of thesensor device.

As indicated above, FIG. 2 is provided merely as an example. Otherexamples may differ from what is described with regard to FIG. 2.

FIG. 3 is a diagram of an example environment 300 in which systemsand/or methods described herein may be implemented. As shown in FIG. 3,environment 300 may include a control device 310, a sensor device 320,and a network 330. Devices of environment 300 may interconnect via wiredconnections, wireless connections, or a combination of wired andwireless connections.

Control device 310 includes one or more devices capable of storing,processing, and/or routing information associated with multispectralsensing. For example, control device 310 may include a server, acomputer, a wearable device, a cloud computing device, and/or the like.In some implementations, control device 310 may be associated with aparticular sensor device 320. In some implementations, control device310 may be associated with multiple sensor devices 320. In someimplementations, control device 310 may receive information from and/ortransmit information to another device in environment 300, such assensor device 320.

Sensor device 320 includes a device capable of performing a measurementof light directed toward sensor device 320. For example, sensor device320 may include an image sensor, a multispectral sensor, a spectralsensor, and/or the like that may perform a sensor measurement of lightdirected toward sensor device 320. Sensor device 320 may utilize one ormore sensor technologies, such as a complementarymetal-oxide-semiconductor (CMOS) technology, a charge-coupled device(CCD) technology, and/or the like. Sensor device 320 may be capable ofperforming a ToF measurement (e.g., using a region of a sensor of sensordevice 320, based on light passed via a particular filter or filterregion of sensor device 320, and/or the like).

Network 330 includes one or more wired and/or wireless networks. Forexample, network 330 may include a cellular network (e.g., a long-termevolution (LTE) network, a code division multiple access (CDMA) network,a 3G network, a 4G network, a 5G network, another type of nextgeneration network, and/or the like), a public land mobile network(PLMN), a local area network (LAN), a wide area network (WAN), ametropolitan area network (MAN), a telephone network (e.g., the PublicSwitched Telephone Network (PSTN)), a private network, an ad hocnetwork, an intranet, the Internet, a fiber optic-based network, a cloudcomputing network, or the like, and/or a combination of these or othertypes of networks.

The number and arrangement of devices and networks shown in FIG. 3 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 3. Furthermore, two or more devices shown in FIG. 3 may beimplemented within a single device, or a single device shown in FIG. 3may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 300 may perform one or more functions described as beingperformed by another set of devices of environment 300.

FIG. 4 is a diagram of example components of a device 400. Device 400may correspond to control device 310 and/or sensor device 320. In someimplementations, control device 310 and/or sensor device 320 may includeone or more devices 400 and/or one or more components of device 400. Asshown in FIG. 4, device 400 may include a bus 410, a processor 420, amemory 430, a storage component 440, an input component 450, an outputcomponent 460, and a communication interface 470.

Bus 410 includes a component that permits communication among multiplecomponents of device 400. Processor 420 is implemented in hardware,firmware, and/or a combination of hardware and software. Processor 420is a central processing unit (CPU), a graphics processing unit (GPU), anaccelerated processing unit (APU), a microprocessor, a microcontroller,a digital signal processor (DSP), a field-programmable gate array(FPGA), an application-specific integrated circuit (ASIC), or anothertype of processing component. In some implementations, processor 420includes one or more processors capable of being programmed to perform afunction. Memory 430 includes one or more memories, such as a randomaccess memory (RAM), a read only memory (ROM), and/or another type ofdynamic or static storage device (e.g., a flash memory, a magneticmemory, and/or an optical memory) that stores information and/orinstructions for use by processor 420. An example of processor 420 isprocessor 125, shown and described in connection with FIGS. 1A and 1B.

Storage component 440 stores information and/or software related to theoperation and use of device 400. For example, storage component 440 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, and/or amagneto-optic disk), a solid state drive (SSD), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of non-transitory computer-readable medium,along with a corresponding drive.

Input component 450 includes a component that permits device 400 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, and/or amicrophone). Additionally, or alternatively, input component 450 mayinclude a component for determining location (e.g., a global positioningsystem (GPS) component) and/or a sensor (e.g., an accelerometer, agyroscope, an actuator, another type of positional or environmentalsensor, and/or the like). Output component 460 includes a component thatprovides output information from device 400 (via, e.g., a display, aspeaker, a haptic feedback component, an audio or visual indicator,and/or the like).

Communication interface 470 includes a transceiver-like component (e.g.,a transceiver, a separate receiver, a separate transmitter, and/or thelike) that enables device 400 to communicate with other devices, such asvia a wired connection, a wireless connection, or a combination of wiredand wireless connections. Communication interface 470 may permit device400 to receive information from another device and/or provideinformation to another device. For example, communication interface 470may include an Ethernet interface, an optical interface, a coaxialinterface, an infrared interface, a radio frequency (RF) interface, auniversal serial bus (USB) interface, a Wi-Fi interface, a cellularnetwork interface, and/or the like.

Device 400 may perform one or more processes described herein. Device400 may perform these processes based on processor 420 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 430 and/or storage component 440. As used herein,the term “computer-readable medium” refers to a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 430 and/or storagecomponent 440 from another computer-readable medium or from anotherdevice via communication interface 470. When executed, softwareinstructions stored in memory 430 and/or storage component 440 may causeprocessor 420 to perform one or more processes described herein.Additionally, or alternatively, hardware circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 4 are provided asan example. In practice, device 400 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 4. Additionally, or alternatively, aset of components (e.g., one or more components) of device 400 mayperform one or more functions described as being performed by anotherset of components of device 400.

FIG. 5 is a flow chart of an example process 500 for performing aspectrometry measurement based on a time-of-flight measurement. In someimplementations, one or more process blocks of FIG. 5 may be performedby a sensor device (e.g., the sensor device of FIG. 1, sensor device320, and/or the like). In some implementations, one or more processblocks of FIG. 5 may be performed by another device or a group ofdevices separate from or including the sensor device, such as a controldevice (e.g., control device 310).

As shown in FIG. 5, process 500 may include determining, using a sensor,a time-of-flight measurement based on light received via at least onefirst spectral filter (block 510). For example, the sensor device (e.g.,using processor 125, processor 420, sensor 115, and/or the like) maydetermine a time-of-flight measurement based on light received via atleast one first spectral filter. In some implementations, the at leastone first spectral filter may be a ToF filter (e.g., ToF filter 110), asdescribed in more detail elsewhere herein. In some implementations, thesensor device may include at least one second spectral filter. In someimplementations, the at least one first spectral filter is associatedwith a spectral range for a time-of-flight measurement, and the at leastone second spectral filter is associated with a spectral range for aspectrometry measurement.

As further shown in FIG. 5, process 500 may include determining that acondition is satisfied with regard to the time-of-flight measurement,wherein the condition relates to an orientation or a position of thesensor or the sensor device relative to a measurement target (block520). For example, the sensor device (e.g., using processor 125 orprocessor 420) may determine that a condition is satisfied with regardto the ToF measurement. The condition may relate to an orientation or aposition of the sensor or the sensor device relative to a measurementtarget.

As further shown in FIG. 5, process 500 may include triggering thespectrometry measurement to be performed based on determining that thecondition is satisfied with regard to the time-of-flight measurement(block 530). For example, the sensor device (e.g., using processor 125or processor 420) may trigger the spectrometry measurement to beperformed. The sensor device may trigger the spectrometry measurement tobe performed based on determining that the condition is satisfied withregard to the ToF measurement.

As further shown in FIG. 5, process 500 may include performing, usingthe sensor and based on light received via at least one second spectralfilter, the spectrometry measurement for the measurement target based onthe condition being satisfied with regard to the time-of-flightmeasurement (block 540). For example, the sensor device (e.g., usingprocessor 125, processor 420, sensor 115, and/or the like) may perform aspectrometry measurement based on light received via at least one secondspectral filter. The sensor device may perform the spectrometrymeasurement using the sensor. The sensor device may perform thespectrometry measurement based on the condition being satisfied withregard to the ToF measurement.

As further shown in FIG. 5, process 500 may include providinginformation identifying the spectrometry measurement (block 550). Forexample, the sensor device (e.g., using processor 125, processor 420,output component 460, and/or the like) may provide informationidentifying the spectrometry measurement. In some implementations, thesensor device may store information identifying the spectrometrymeasurement. In some implementations, the sensor device may provide theinformation identifying the spectrometry measurement for a user (e.g.,via a user interface or a display associated with the sensor device).

Process 500 may include additional implementations, such as any singleimplementation or any combination of implementation described belowand/or in connection with one or more other processes describedelsewhere herein.

In a first implementation, the at least one first spectral filtercomprises a plurality of first spectral filters in a plane with the atleast one second spectral filter. In a second implementation, alone orin combination with the first implementation, the at least one firstspectral filter comprises a plurality of first spectral filters that arespatially distributed to allow determination of the orientation based onlight passed via the plurality of first spectral filters. In a thirdimplementation, alone or in combination with one or more of the firstand second implementations, the time-of-flight measurement is a firsttime-of-flight measurement, and the sensor device is further todetermine a second time-of-flight measurement after the spectrometrymeasurement and determine a velocity or an updated orientation orposition of the sensor device based on the second time-of-flightmeasurement. In a fourth implementation, alone or in combination withone or more of the first through third implementations, the at least onefirst spectral filter comprises a single spectral filter, and theorientation or the position is determined based on light passed via thesingle spectral filter.

In a fifth implementation, alone or in combination with one or more ofthe first through fourth implementations, the sensor device may modifythe spectrometry measurement based on the time-of-flight measurement. Ina sixth implementation, alone or in combination with one or more of thefirst through fifth implementations, the sensor device may obtain afirst sample of data from the sensor; and obtain a second sample of datafrom the sensor based on the spectrometry measurement being triggered.In a seventh implementation, alone or in combination with one or more ofthe first through sixth implementations, the first sample is separatedfrom the second sample by less than approximately ten milliseconds. Inan eighth implementation, alone or in combination with one or more ofthe first through seventh implementations, the first sample isassociated with one or more first pixel regions of the sensor and thesecond sample is of associated with or more second pixel regions of thesensor.

Although FIG. 5 shows example blocks of process 500, in someimplementations, process 500 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 5. Additionally, or alternatively, two or more of theblocks of process 500 may be performed in parallel.

FIG. 6 is a flow chart of an example process 600 for performing aspectrometry measurement based on a time-of-flight measurement. In someimplementations, one or more process blocks of FIG. 6 may be performedby a sensor device (e.g., the sensor device of FIG. 1, sensor device320, and/or the like). In some implementations, one or more processblocks of FIG. 6 may be performed by another device or a group ofdevices separate from or including the sensor device, such as a controldevice (e.g., control device 310).

As shown in FIG. 6, process 600 may include performing, using a sensor,a time-of-flight measurement based on light received via at least onefirst spectral filter, wherein the at least one first spectral filter isassociated with a spectral range for a time-of-flight measurement (block610). For example, the sensor device (e.g., using processor 125,processor 420, sensor 115, and/or the like) may perform a time-of-flightmeasurement based on light received via at least one first spectralfilter. In some implementations, the at least one first spectral filtermay be a ToF filter (e.g., ToF filter 110), as described in more detailelsewhere herein. In some implementations, the sensor device may includeat least one second spectral filter. In some implementations, the atleast one first spectral filter is associated with a spectral range fora time-of-flight measurement, and the at least one second spectralfilter is associated with a spectral range for a spectrometrymeasurement.

As further shown in FIG. 6, process 600 may include determining that acondition is satisfied with regard to the time-of-flight measurement,wherein the condition relates to an orientation or a position of thesensor or the sensor device relative to a measurement target (block620). For example, the sensor device (e.g., using processor 125 orprocessor 420) may determine that a condition is satisfied with regardto the ToF measurement. The condition may relate to an orientation or aposition of the sensor or the sensor device relative to a measurementtarget.

As further shown in FIG. 6, process 600 may include performing, usingthe sensor and based on light received via at least one second spectralfilter, a spectrometry measurement for the measurement target based onthe condition being satisfied with regard to the time-of-flightmeasurement (block 630). For example, the sensor device (e.g., usingprocessor 125, processor 420, sensor 115, and/or the like) may perform aspectrometry measurement based on light received via at least one secondspectral filter. The sensor device may perform the spectrometrymeasurement using the sensor. The sensor device may perform thespectrometry measurement based on the condition being satisfied withregard to the ToF measurement.

As further shown in FIG. 6, process 600 may include providinginformation identifying the spectrometry measurement (block 640). Forexample, the sensor device (e.g., using processor 125, processor 420,output component 460, and/or the like) may provide informationidentifying the spectrometry measurement. In some implementations, thesensor device may store information identifying the spectrometrymeasurement. In some implementations, the sensor device may provide theinformation identifying the spectrometry measurement to a user (e.g.,via a user interface or a display associated with the sensor device).

Process 600 may include additional implementations, such as any singleimplementation or any combination of implementation described belowand/or in connection with one or more other processes describedelsewhere herein.

In a first implementation, the light received via the at least one firstspectral filter and the light received via the at least one secondspectral filter are from a same light source. In a secondimplementation, alone or in combination with the first implementation,the light received via the at least one first spectral filter and thelight received via the at least one second spectral filter are fromdifferent light sources. In a third implementation, alone or incombination with one or more of the first and second implementations,the at least one first spectral filter comprises a plurality of firstspectral filters in a plane with the at least one second spectralfilter. In a fourth implementation, alone or in combination with one ormore of the first through third implementations, the at least one firstspectral filter comprises a plurality of first spectral filters that arespatially distributed to allow determination of the orientation based onlight passed via the plurality of first spectral filters. In a fifthimplementation, alone or in combination with one or more of the firstthrough fourth implementations, the condition relates to whether thesensor is parallel to a surface of the measurement target. In a sixthimplementation, alone or in combination with one or more of the firstthrough fifth implementations, the at least one first spectral filtercomprises a plurality of spectral filters. The sensor device may performthe time-of-flight measurement for a plurality of wavelengthscorresponding to the plurality of spectral filters. In a seventhimplementation, alone or in combination with one or more of the firstthrough sixth implementations, the condition relates to a thresholddistance between the sensor device and the measurement target.

Although FIG. 6 shows example blocks of process 600, in someimplementations, process 600 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 6. Additionally, or alternatively, two or more of theblocks of process 600 may be performed in parallel.

FIG. 7 is a flow chart of an example process 700 for performing aspectrometry measurement based on a time-of-flight measurement. In someimplementations, one or more process blocks of FIG. 7 may be performedby a sensor device (e.g., the sensor device of FIG. 1, sensor device320, and/or the like). In some implementations, one or more processblocks of FIG. 7 may be performed by another device or a group ofdevices separate from or including the sensor device, such as a controldevice (e.g., control device 310).

As shown in FIG. 7, process 700 may include determining a time-of-flightmeasurement by performing a sample of a sensor based on light receivedvia at least one first spectral filter, wherein the at least one firstspectral filter is associated with a spectral range for a time-of-flightmeasurement (block 710). For example, the sensor device (e.g., usingprocessor 125, processor 420, sensor 115, and/or the like) may perform asample of a sensor and determine a time-of-flight measurement based onlight received via at least one first spectral filter. In someimplementations, the at least one first spectral filter may be a ToFfilter (e.g., ToF filter 110), as described in more detail elsewhereherein. In some implementations, the sensor device may include at leastone second spectral filter. In some implementations, the at least onefirst spectral filter is associated with a spectral range for atime-of-flight measurement, and the at least one second spectral filteris associated with a spectral range for a spectrometry measurement.

As further shown in FIG. 7, process 700 may include determining that acondition is satisfied with regard to the time-of-flight measurement,wherein the condition relates to an orientation or a position of thesensor or the sensor device relative to a measurement target (block720). For example, the sensor device (e.g., using processor 125 orprocessor 420) may determine that a condition is satisfied with regardto the ToF measurement. The condition may relate to an orientation or aposition of the sensor or the sensor device relative to a measurementtarget.

As further shown in FIG. 7, process 700 may include triggering aspectrometry measurement to be performed based on determining that thecondition is satisfied with regard to the time-of-flight measurement(block 730). For example, the sensor device (e.g., using processor 125or processor 420) may trigger the spectrometry measurement to beperformed. The sensor device may trigger the spectrometry measurement tobe performed based on determining that the condition is satisfied withregard to the ToF measurement.

As further shown in FIG. 7, process 700 may include performing, based onlight received via at least one second spectral filter and by performinga sample of the sensor, the spectrometry measurement for the measurementtarget based on the condition being satisfied with regard to thetime-of-flight measurement (block 740). For example, the sensor device(e.g., using processor 125, processor 420, sensor 115, and/or the like)may perform a sample of the sensor and may perform a spectrometrymeasurement based on light received via at least one second spectralfilter. The sensor device may perform the spectrometry measurement usingthe sensor. The sensor device may perform the spectrometry measurementbased on the condition being satisfied with regard to the ToFmeasurement.

Process 700 may include additional implementations, such as any singleimplementation or any combination of implementation described belowand/or in connection with one or more other processes describedelsewhere herein.

In a first implementation, the sensor device may determine pixel valuesin at least one region of the sensor corresponding to the at least onefirst spectral filter; determine that the pixel values match a patternassociated with the time-of-flight measurement; and determine thetime-of-flight measurement based on the pixel values. In a secondimplementation, alone or in combination with the first implementation,the spectrometry measurement is based on a near-infrared (NIR)wavelength range.

Although FIG. 7 shows example blocks of process 700, in someimplementations, process 700 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 7. Additionally, or alternatively, two or more of theblocks of process 700 may be performed in parallel.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations may be made inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term “component” is intended to be broadly construedas hardware, firmware, and/or a combination of hardware and software.

As used herein, satisfying a threshold may, depending on the context,refer to a value being greater than the threshold, more than thethreshold, higher than the threshold, greater than or equal to thethreshold, less than the threshold, fewer than the threshold, lower thanthe threshold, less than or equal to the threshold, equal to thethreshold, or the like.

It will be apparent that systems and/or methods described herein may beimplemented in different forms of hardware, firmware, and/or acombination of hardware and software. The actual specialized controlhardware or software code used to implement these systems and/or methodsis not limiting of the implementations. Thus, the operation and behaviorof the systems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwarecan be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of various implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of various implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Furthermore,as used herein, the term “set” is intended to include one or more items(e.g., related items, unrelated items, a combination of related items,and unrelated items, and/or the like), and may be used interchangeablywith “one or more.” Where only one item is intended, the term “only one”or similar language is used. Also, as used herein, the terms “has,”“have,” “having,” or the like are intended to be open-ended terms.Further, the phrase “based on” is intended to mean “based, at least inpart, on” unless explicitly stated otherwise.

What is claimed is:
 1. A sensor device, comprising: a sensor; at leastone first spectral filter and at least one second spectral filter,wherein the at least one first spectral filter is associated with aspectral range for a time-of-flight measurement, and wherein the atleast one second spectral filter is associated with a spectral range fora spectrometry measurement; and one or more processors to: determine,using the sensor, the time-of-flight measurement based on light receivedvia the at least one first spectral filter; determine that a conditionis satisfied with regard to the time-of-flight measurement, wherein thecondition relates to an orientation or a position of the sensor or thesensor device relative to a measurement target; trigger the spectrometrymeasurement to be performed based on determining that the condition issatisfied with regard to the time-of-flight measurement; perform, usingthe sensor and based on light received via the at least one secondspectral filter, the spectrometry measurement for the measurement targetbased on the condition being satisfied with regard to the time-of-flightmeasurement; and provide information identifying the spectrometrymeasurement.
 2. The sensor device of claim 1, wherein the at least onefirst spectral filter comprises a plurality of first spectral filters ina plane with the at least one second spectral filter.
 3. The sensordevice of claim 1, wherein the at least one first spectral filtercomprises a plurality of first spectral filters that are spatiallydistributed to allow determination of the orientation based on lightpassed via the plurality of first spectral filters.
 4. The sensor deviceof claim 1, wherein the time-of-flight measurement is a firsttime-of-flight measurement, and wherein the one or more processors arefurther to: determine a second time-of-flight measurement after thespectrometry measurement; and determine a velocity or an updatedorientation or position of the sensor device based on the secondtime-of-flight measurement.
 5. The sensor device of claim 1, wherein theat least one first spectral filter comprises a single spectral filter,and wherein the orientation or the position is determined based on lightpassed via the single spectral filter.
 6. The sensor device of claim 1,wherein the one or more processors are further to: modify thespectrometry measurement based on the time-of-flight measurement.
 7. Thesensor device of claim 1, wherein the one or more processors, whendetermining the time-of-flight measurement, are to: obtain a firstsample of data from the sensor; and wherein the one or more processors,when performing the spectrometry measurement, are to: obtain a secondsample of data from the sensor based on the spectrometry measurementbeing triggered.
 8. The sensor device of claim 7, wherein the firstsample is separated from the second sample by less than approximatelyten milliseconds.
 9. The sensor device of claim 7, wherein the firstsample is associated with one or more first pixel regions of the sensorand the second sample is of associated with or more second pixel regionsof the sensor.
 10. A method, comprising: performing, by a sensor deviceand using a sensor, a time-of-flight measurement based on light receivedvia at least one first spectral filter, wherein the at least one firstspectral filter is associated with a spectral range for a time-of-flightmeasurement; determining, by the sensor device, that a condition issatisfied with regard to the time-of-flight measurement, wherein thecondition relates to an orientation or a position of the sensor or thesensor device relative to a measurement target; performing, by thesensor device, using the sensor, and based on light received via atleast one second spectral filter, a spectrometry measurement for themeasurement target based on the condition being satisfied with regard tothe time-of-flight measurement; and providing, by the sensor device,information identifying the spectrometry measurement.
 11. The method ofclaim 10, wherein the light received via the at least one first spectralfilter and the light received via the at least one second spectralfilter are from a same light source.
 12. The method of claim 10, whereinthe light received via the at least one first spectral filter and thelight received via the at least one second spectral filter are fromdifferent light sources.
 13. The method of claim 10, wherein the atleast one first spectral filter comprises a plurality of first spectralfilters in a plane with the at least one second spectral filter.
 14. Themethod of claim 10, wherein the at least one first spectral filtercomprises a plurality of first spectral filters that are spatiallydistributed to allow determination of the orientation based on lightpassed via the plurality of first spectral filters.
 15. The method ofclaim 10, wherein the condition relates to whether the sensor isparallel to a surface of the measurement target.
 16. The method of claim10, wherein the at least one first spectral filter comprises a pluralityof spectral filters, and wherein performing the time-of-flightmeasurement further comprises: performing the time-of-flight measurementfor a plurality of wavelengths corresponding to the plurality ofspectral filters.
 17. The method of claim 10, wherein the conditionrelates to a threshold distance between the sensor device and themeasurement target.
 18. A non-transitory computer-readable mediumstoring instructions, the instructions comprising: one or moreinstructions that, when executed by one or more processors of a sensordevice, cause the one or more processors to: determine a time-of-flightmeasurement by performing a sample of a sensor based on light receivedvia at least one first spectral filter, wherein the at least one firstspectral filter is associated with a spectral range for a time-of-flightmeasurement; determine that a condition is satisfied with regard to thetime-of-flight measurement, wherein the condition relates to anorientation or a position of the sensor or the sensor device relative toa measurement target; trigger a spectrometry measurement to be performedbased on determining that the condition is satisfied with regard to thetime-of-flight measurement; and perform, based on light received via atleast one second spectral filter and by performing a sample of thesensor, the spectrometry measurement for the measurement target based onthe condition being satisfied with regard to the time-of-flightmeasurement.
 19. The non-transitory computer-readable medium of claim18, wherein the one or more instructions, that cause the one or moreprocessors to determine the time-of-flight measurement, further causethe one or more processors to: determine pixel values in at least oneregion of the sensor corresponding to the at least one first spectralfilter; determine that the pixel values match a pattern associated withthe time-of-flight measurement; and determine the time-of-flightmeasurement based on the pixel values.
 20. The non-transitorycomputer-readable medium of claim 18, wherein the spectrometrymeasurement is based on a visible wavelength range or a near-infraredwavelength range.